
#ifndef _MEMBER_BRENDER_H_
#define _MEMBER_BRENDER_H_

#include <BRender>
#include <BLight>
#include <BCamera>
#include "IGLState.h"

#define render_member(render)	((member_BRender*)((BRender*)render)->_ptr)

namespace BWE
{
	class member_BRender : public IGLState
	{
	public:
		member_BRender(BRender* render);
		~member_BRender();

		void useLights(const BVector& point);

		BRender*		boss;
		bool			lighting;
		BColor			color;
		bool			cullback;
		bool			depthTest;
		bool			pointSmooth;
		int				pointSize;
		bool			lineSmooth;
		int				lineWidth;
		BUShort			lineStipple;
		int				polyMode;
		bool			polygonSmooth;
		float			polygonOffset;
		BMatrix			matrix;
		GLuint			tbos[10];

		const BCamera*		camera;
		const BNode*		node;
		const BShape*		shape;

		const BLightSet*	lights;
		const BMaterial*	material;
	};
}

#endif
